<template>
  <div class="wrapper">
    <!--头部-->
    <header>
      <p>我的订单</p>
    </header>
    <!--订单列表部分-->
    <h3>未支付订单信息</h3>
    <hr style="color: black; margin: 0;">
    <ul class="order">
      <li v-for="(item, index) in orderArr" v-show="item != null && item.orderState == 0">
        <div class="order-info">
          <p>
            {{ item.business.businessName }}
            <i class="fa fa-caret-down" @click="detailedShow(item)"></i>
          </p>
          <div class="right">
            <p>&yen;{{ item.orderTotal }}</p>
            <button @click="toPayment(item.orderId)" class="btn btn-warning">去支付</button>
            <button @click="removeOrder(item, index)" class="btn btn-secondary">删除</button>
          </div>
        </div>

        <ul class="order-detailed" v-if="item.isShowDetailed">
          <li v-for="odItem in item.list">
            <p>{{ odItem.food.foodName }} × {{ odItem.quantity }}</p>
            <p>&yen;{{ odItem.food.foodPrice * odItem.quantity }}</p>
          </li>
          <li>
            <p>配送费</p>
            <p>&yen;{{ item.business.deliveryPrice }}</p>
          </li>
          <li>
            <p>下单时间：</p>
            <p> {{ item.orderDate }} </p>
          </li>

        </ul>
      </li>
    </ul>

    <h3>已支付订单信息</h3>
    <hr style="color: black; margin: 0;">
    <ul class="order">
      <li v-for="item in orderArr" v-if="item.orderState == 1">
        <div class="order-info">
          <p>
            {{ item.business.businessName }}
            <i class="fa fa-caret-down" @click="detailedShow(item)"></i>
          </p>
          <div class="right">
            <p>&yen;{{ item.orderTotal }}</p>
            <button @click="toComment(item.businessId)" type="button" class="btn btn-primary">去评价</button>

          </div>
        </div>

        <ul class="order-detailed" v-show="item.isShowDetailed">
          <li v-for="odItem in item.list">
            <p>{{ odItem.food.foodName }} × {{ odItem.quantity }}</p>
            <p>&yen;{{ odItem.food.foodPrice * odItem.quantity }}</p>
          </li>
          <li>
            <p>配送费</p>
            <p>&yen;{{ item.business.deliveryPrice }}</p>
          </li>
          <li>
            <p>下单时间：</p>
            <p> {{ item.orderDate }} </p>
          </li>
        </ul>
      </li>
    </ul>
    <!--底部菜单-->
    <Footer></Footer>
  </div>
</template>

<script>
import Footer from "../components/Footer";
export default {
  name: "OrderList",
  data() {
    return {
      orderArr: [],
      user: {},
    }
  },
  created() {
    this.user = this.$getSessionStorage('user');

    let url = `OrdersController/listOrdersByUserId/${this.user.userId}`
    this.$axios.get(url).then(response => {
      this.orderArr_noshow = response.data.result;
      // console.log(response.data.result)
      let arrays = response.data.result;
      for (let orders of arrays) {
        orders.isShowDetailed = false;
      }
      this.orderArr = arrays;
    }).catch(error => {
      console.error(error);
    });
  },
  components: { Footer },
  methods: {
    detailedShow(orders) {
      orders.isShowDetailed = !orders.isShowDetailed;
    },
    toComment(businessId) {
      this.$router.push({
        path: '/error403',
        // query: {
        //   businessId: businessId,
        // }
      })
    },
    toPayment(orderId) {
      this.$router.push({
        path: '/payment',
        query: { orderId: orderId },
      },
      );
    },
    removeOrder(order, index) {

      if (!confirm('确认要删除此订单吗?')) {
        return;
      }
      // this.orderArr.splice(index, 1, null);
      // this.$set(this.orderArr, index, null);
      // 删除订单，并更新视图
      this.orderArr = this.orderArr.filter((i) => {
        return i.orderId != order.orderId
      })
      let url = `OrdersController/removeOrders/${order.orderId}`
      this.$axios.delete(url).then(response => {
        if (response.data.result > 0) {
          console.log('删除成功');
          //this.$router.go(0);
        }

        else {
          console.log('删除失败')
        }
      })
    },
  }
}
</script>

<style scoped>
/**************************总容器**************************/
.wrapper {
  width: 100%;
}

/**************************header**************************/
.wrapper header {
  width: 100%;
  height: 12vw;
  background-color: #0097FF;
  color: #FFF;
  font-size: 4.8vw;

  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;

  display: flex;
  justify-content: center;
  align-items: center;
}

/**************************历史订单列表**************************/
.wrapper h3 {
  margin-top: 12vw;
  box-sizing: border-box;
  padding: 4vw;
  font-size: 4vw;
  font-weight: 300;
  color: #999;
}

.wrapper .order {
  width: 100%;
}

.wrapper .order li {
  width: 100%;
}

.wrapper .order li .order-info {
  box-sizing: border-box;
  padding: 2vw 2.5vw;
  font-size: 4vw;
  color: #666;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wrapper .order li .order-info .right {
  display: flex;
}

.wrapper .order li .order-info .right button {
  margin-left: 1.5vw;
  font-size: 3.5vw;
  cursor: pointer;
}

.wrapper .order li .order-detailed {
  width: 100%;
}

.wrapper .order li .order-detailed li {
  width: 100%;
  box-sizing: border-box;
  padding: 1vw 4vw;
  color: #666;
  font-size: 3vw;

  display: flex;
  justify-content: space-between;
  align-items: center;
}
</style>